The present invention relates generally to secure USB flash memory devices and more particularly to USB flash memory devices having both a microcontroller and a smart card.
With the small physical size of computer memories having large address spaces, it has become possible to store relatively large quantities of data on small portable memory devices. This portability has made it possible for users to literally carry their important data in their pocket either for the purpose of sharing the data with other individuals or to have information available without carrying bulkier and less portable forms of data storage.
USB flash drives are one example of such small portable devices that are becoming a very popular mechanism for storing computerized information and for physically moving the stored information from one computer to another. There are many popular uses; some common uses include personal data transport and data transfer.
With the portability of data storage devices come security risks. There have been several highly publicized cases of private data being lost from misplaced or stolen laptop computers. Similar risks arise with the use of USB flash drives: being small, they are easily misplaced, often they are carried in a user's pocket and can then, like other small items carried in that fashion, inadvertently fall out of the pocket undetected. In the event of loss of the device, if the owner of the device has stored sensitive private information on it, that person would be more comfortable knowing that the private data could not be accessed without authorization, e.g., without being authenticated as the owner of the device.
There is also a growing culture of using USB flash drives to move data to computers belonging to persons other than the owner of the USB flash drive. In that scenario the owner of the USB flash drive provides the USB flash drive to another person for connection to that persons computer via a USB port either for the purpose of receiving data files from the owner of the computer or vice versa. However, because the owner of the USB flash drive does not typically have control of the computer, the USB flash drive owner is subjected to having data moved, intentionally or unintentionally, from the USB flash drive to the computer to which it is being attached, or viewed by the owner of the computer. Furthermore, the owner of the computer could, again either with intent or inadvertently, cause information stored on the USB flash drive to be deleted or corrupted.
Thus it is desirable to avoid the threat of being subjected to some form of attack from the computer to which the drive is attached.
Encryption technology is available on many computers. Thus, one way to avoid some of the aforementioned problems is to use the encryption processing capabilities to encrypt and decrypt files stored on the USB flash memory device. While that solution may work to solve specific needs of particular users, it is not a good general solution to the data security problems that arise with USB flash memory devices. One problem is that multiple encryption standards exist. Thus, the encryption technology used to encrypt a file on one computer may not be available when the same file is to be decrypted on another computer. A more severe issue is that often a user would store the encryption key on the computer with which the USB flash memory device is most often used. Thus, the likelihood that the computer and USB flash memory device are lost together or stolen together is high and consequently a hacker may be able to find the encryption key for the USB flash memory device somewhere on the computer.
To address the above-mentioned concerns, several manufacturers, including, Lexar Media, Inc. of Fremont, Calif. and Kingston Technology Company, Inc. of Fountain Valley, Calif., have introduced USB flash memory devices that provide encryption of a data zone having private data. The encryption and decryption is performed by the USB flash memory microcontroller and the encryption key is stored inside the microcontroller. While this solution provides a higher level of security than USB flash memory devices that have no security features and also improves security with respect to using a host computer for encryption and decryption, it is a solution that is vulnerable to certain attacks. For example, denial of service attacks may be launched against files in the private data zone by deleting files from that area of the device. As discovered by the smart card industry, hackers have developed many clever techniques for deducing the activity inside a microcontroller, for example, examining power consumption patterns, and can use those techniques for determining encryption keys.
From the foregoing it will be apparent that there is still a need for a USB flash memory device that provides yet a higher level of data security to protect data stored on thereon.